package com.yanqu.road.entity.wingroom;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.player.UserBaseInfo;

import java.util.ArrayList;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_u_wingroom_patrons_visit", desc = "厢房门客拜访")
public class UserPatronsVisitData extends DataObject {

    @FieldTypeAnnotation(desc = "玩家id", select = true, update = true)
    private long userId;

    @FieldTypeAnnotation(desc = "状态:0,已初始化；1，已接待；2，已结束")
    private int state;

    @FieldTypeAnnotation(desc = "来访者id")
    private long visitor;

    @FieldTypeAnnotation(desc = "来访者")
    private UserBaseInfo userBaseInfo;

    @FieldTypeAnnotation(desc = "事件时间")
    private int eventTime;

    @FieldTypeAnnotation(desc = "接待时间")
    private int receiveTime;

    @FieldTypeAnnotation(desc = "完成时间")
    private int doneTime;

    @FieldTypeAnnotation(desc = "来访门客信息")
    private List<WingRoomVisitPatrons> patronsList = new ArrayList<>();

    @FieldTypeAnnotation(desc = "今日是否触发过")
    private boolean todayTouch;

    @FieldTypeAnnotation(desc = "重置时间")
    private int resetTime;

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public int getState() {
        return state;
    }

    public void setState(int state) {
        if(this.state != state) {
            this.state = state;
            setUpdateOption();
        }
    }

    public long getVisitor() {
        return visitor;
    }

    public void setVisitor(long visitor) {
        if(this.visitor != visitor) {
            this.visitor = visitor;
            setUpdateOption();
        }
    }

    public UserBaseInfo getUserBaseInfo() {
        return userBaseInfo;
    }

    public void setUserBaseInfo(UserBaseInfo userBaseInfo) {
        this.userBaseInfo = userBaseInfo;
        setUpdateOption();
    }

    public int getEventTime() {
        return eventTime;
    }

    public void setEventTime(int eventTime) {
        if(this.eventTime != eventTime) {
            this.eventTime = eventTime;
            setUpdateOption();
        }
    }

    public int getReceiveTime() {
        return receiveTime;
    }

    public void setReceiveTime(int receiveTime) {
        if(this.receiveTime != receiveTime) {
            this.receiveTime = receiveTime;
            setUpdateOption();
        }
    }

    public int getDoneTime() {
        return doneTime;
    }

    public void setDoneTime(int doneTime) {
        if(this.doneTime != doneTime) {
            this.doneTime = doneTime;
            setUpdateOption();
        }
    }

    public List<WingRoomVisitPatrons> getPatronsList() {
        return patronsList;
    }

    public void setPatronsList(List<WingRoomVisitPatrons> patronsList) {
        this.patronsList = patronsList;
        setUpdateOption();
    }

    public boolean isTodayTouch() {
        return todayTouch;
    }

    public void setTodayTouch(boolean todayTouch) {
        if(this.todayTouch != todayTouch) {
            this.todayTouch = todayTouch;
            setUpdateOption();
        }
    }

    public int getResetTime() {
        return resetTime;
    }

    public void setResetTime(int resetTime) {
        if(this.resetTime != resetTime) {
            this.resetTime = resetTime;
            setUpdateOption();
        }
    }
}
